Telegram Group Search
🧑‍💻 AI-инструменты, которые я использую каждый день

ИИ всё плотнее и плотнее вторгается в наш быт. Разработчики, как и многие другие специалисты, активно используют возможности нейросетей

Расспросили рядового разработчика — как именно он использует нейросети. Смотрите интервью в карточках.

➡️ Интересный формат? Задавайте вопросы в комментариях, а мы найдём экспертов 👇

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠 Команда дня: профилирование Go-приложения

С помощью встроенного pprof можно быстро собирать и визуализировать данные о производительности Go-кода.

Команда, чтобы запустить все бенчмарки с CPU-профилированием и открыть интерактивный отчёт в браузере:
go test -bench=. -cpuprofile cpu.prof \
&& go tool pprof -http=:8080 cpu.prof


Помимо CPU-профиля можно использовать:

-memprofile mem.prof — профиль использования памяти.
-blockprofile block.prof — профиль блокировок.

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
📣 Сторонние библиотеки или чистый Go

В мире Go-разработки всегда возникает жаркий спор, стоит ли использовать сторонние библиотеки или придерживаться только стандартной библиотеки Go.

• Сторонние библиотеки — ускорение разработки

Использование сторонних библиотек позволяет существенно ускорить процесс разработки, предоставляя готовые решения для множества задач: от работы с базами данных и парсинга JSON до обработки ошибок и логирования.

Многие разработчики уверены, что использование сторонних библиотек — это нормальная практика для ускорения проекта и улучшения качества кода.

• Чистый Go — просто и понятно

С другой стороны, сторонники "чистого Go" утверждают, что стандартная библиотека Go вполне способна покрыть большинство потребностей.

Использование сторонних библиотек может привести к ненужной сложности и зависимостям, которые могут замедлить разработку.

💬 Какой подход предпочитаете вы? Когда стоит прибегать к сторонним библиотекам, а когда лучше использовать чистый Go? Поделитесь своим мнением в комментариях 👇

🐸Библиотека Go-разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 Неделя в фокусе

Собрали для вас основные события и материалы, которые стоит обсудить по итогам недели.

tldx: инструмент для быстрого поиска доступных доменов

tldx позволяет генерировать умные пермутации доменов с использованием префиксов, суффиксов и различных TLD, а также проверять их доступность с помощью RDAP.

godump v1.2.0

В новой версии будет добавлена поддержка шестнадцатеричного вывода, новая функция Fdump для записи дампа в io.Writer, улучшена обработка пользовательских типов и устранена паника при дампе структур.

Свежий выпуск Cup o' Go

В новом эпизоде Cup o' Go обсуждают, как внедрение автономных AI-агентов влияет на рабочие процессы.

Otter v2.0.0

Вышла новая версия Otter — библиотеки кэширования для Go. В этой версии полностью переработан API для повышения гибкости.

Добавлены функции загрузки и обновления данных, защита от HashDoS-атак, а также улучшены механизмы планирования задач и буферизации.

Наш опрос про ИИ

🐸Библиотека Go-разработчика #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👋 Топ-вакансий для Go-разработчиков за неделю

Golang-разработчик — удаленно в Уфе.

Golang Developer — от 270 000 ₽, удаленно в СПб.

Backend Developer (PHP/Go) — Кипр

Golang Developer — удалённо по всему миру.

Team Lead команды Aвиа — от 420 000 ₽, удаленно в Москве.

Junior / Middle Backend Developer — от 130 000 ₽, удаленно.

Бустер — удалённо, офис строится под вас.

➡️ Еще больше топовых вакансий — в нашем канале Go jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠 ffuf – секретный сканер

Каждый спрятанный файл, каждая невидимая директория – потенциальная дыра в вашей защите.

ffuf – лёгкий и молниеносный фреймворк для фаззинга, готовый найти то, что скрывают сервера.

ffuf задействует простую, но эффективную идею: вместо ручного перебора он подставляет маркер FUZZ в URL и в заголовок Host, после чего обходит наборы словарей и оценивает их.

Такой подход позволяет сразу отсеивать «шум» и сосредоточиться на интересных результатах, а фильтры дают возможность настроить шаблоны отбора.

➡️ Репозиторий проекта

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠 Организация кода в Go: пакеты, импорты и модули

Погружаемся в основы структуры проектов на Go и подробно разбираем, как правильно работать с пакетами. В карточках основная информация, а глубже разобрали в самоучителе.

➡️ Читать третью часть самоучителя

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💣 Как настроить отказоустойчивое хранилище данных? Дарим гайд за прохождение теста по HighLoad!

🏆 Пройди тест из 29 вопросов, проверь свой уровень знаний и получи файл “Как настроить отказоустойчивое хранилище данных“! Тест проводится в рамках курса Highload Architect

👉 Пройти тест и забрать файл: https://clc.to/da6RNw

Если успешно пройдешь тест, то так же сможешь забронировать место в группе по выгодной цене!

🎫 Курс можно приобрести в рассрочку

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
⚙️ База для Redis

Redis — отличный инструмент для улучшения производительности вашего приложения. Если Redis уже настроен, давайте сосредоточимся на интеграции его в ваш Go-проект.

1. Установка библиотеки

Самая простая часть. Команда для установки:
go get github.com/go-redis/redis/v8


2. Инициализация клиента

Чтобы обращаться к Redis нам нужен контекст и инициализированный клиент:
// Создаем контекст, который будет использоваться для всех операций с Redis
var ctx = context.Background()

// Функция для инициализации клиента Redis
func initRedisClient() *redis.Client {
client := redis.NewClient(&redis.Options{
Addr: "localhost:6379", // Адрес Redis сервера
Password: "", // Пароль (если есть)
DB: 0, // Индекс базы данных
})

// Проверим подключение
_, err := client.Ping(ctx).Result()
if err != nil {
log.Fatalf("Не удалось подключиться к Redis: %v", err)
}

return client
}


3. Пишем функции

Теперь мы готовы записывать и читать значения.

Функция для записи:
func setKey(client *redis.Client, key, value string) {
err := client.Set(ctx, key, value, 0).Err() // 0 означает, что ключ будет храниться в Redis бесконечно
if err != nil {
log.Fatalf("Ошибка при записи в Redis: %v", err)
}
fmt.Println("Ключ успешно записан в Redis")
}


В функции setKey() мы записываем значение в Redis. Мы используем метод Set(), который принимает три параметра:

• key — ключ, который будет использоваться для хранения
• value — значение, которое будет храниться.
• 0 — это время жизни ключа. Если указать 0, ключ будет храниться бесконечно.

Функция для чтения:
func getKey(client *redis.Client, key string) string {
val, err := client.Get(ctx, key).Result()
if err == redis.Nil {
fmt.Println("Ключ не найден")
return ""
} else if err != nil {
log.Fatalf("Ошибка при чтении из Redis: %v", err)
}
return val
}


Здесь мы пытаемся получить значение по ключу с помощью метода Get(). Если ключ не найден, Redis вернет ошибку redis.Nil, и мы корректно обрабатываем этот случай.

Это полезная основа, на которой можно строить более сложные системы с кэшированием, хранением сессий и очередями задач.

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/06/26 17:13:03
Back to Top
HTML Embed Code: